/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.farmcode.base.dao;

import java.util.List;

/**
 *
 * @author oiprado
 */

public interface BaseDAO <T>{
  
  public void create(T entity) throws DAOException;
  
  public void store(T entity) throws DAOException;
  
  public void remove(T entity, Object primaryKey) throws DAOException;
  
  public List<T> find() throws DAOException;
  
  public List<T> executeQuery(String sqlQuery) throws DAOException;
  
  public void setFilter(BaseFilter baseFilter);
  
  public List<T> find(BaseFilter baseFilter) throws DAOException;
  
  public boolean isAttached(Object entity);
  
}
